﻿using FarmSmartSleep.Common.Dtos;
using MediatR;
using System.ComponentModel.DataAnnotations;

namespace FarmSmartSleep.Organ.API.Application.ProductionManagement.MotherGivingBirthFile
{
    public class MotherGivingBirthUpdateCommon:IRequest<Result>
    {
        /// <summary>
        /// 羊只分娩记录
        /// </summary>
        public int MotherGivingBirthId { get; set; }
        /// <summary>
        /// 负责人
        /// </summary>
        public string Leader { get; set; }
        /// <summary>
        /// 分娩时间
        /// </summary>
        public DateTime MotherData { get; set; }

        /// <summary>
        /// 种母耳号
        /// </summary>
        public int EweID { get; set; }

        /// <summary>
        /// 妊检天数
        /// </summary>
        public int PregnancyDays { get; set; }

        /// <summary>
        /// 分娩难易
        /// </summary>
        public int DeliveryEase { get; set; }

        /// <summary>
        /// 肥羊批次
        /// </summary>
        public int BatchNumber { get; set; }

        /// <summary>
        /// 母性
        /// </summary>
        public int MaternalBehavior { get; set; }

        /// <summary>
        /// 泌乳
        /// </summary>
        public bool Lactation { get; set; }

        /// <summary>
        /// 乳房炎
        /// </summary>
        public bool Mastitis { get; set; }

        /// <summary>
        /// 窝号
        /// </summary>
        public int LitterID { get; set; }

        /// <summary>
        /// 健羔数
        /// </summary>
        public int HealthyLambsCount { get; set; }
        /// <summary>
        /// 弱羔数
        /// </summary>
        public int WeakLambsCount { get; set; }

        /// <summary>
        /// 畸形数
        /// </summary>
        public int DeformedLambsCount { get; set; }

        /// <summary>
        /// 死胎数
        /// </summary>
        public int StillbornLambsCount { get; set; }

        /// <summary>
        /// 木乃伊数
        /// </summary>
        public int MummifiedLambsCount { get; set; }

        /// <summary>
        /// 畸胎数
        /// </summary>
        public int MalformedFetusCount { get; set; }

        /// <summary>
        /// 活羔数
        /// </summary>
        public int LiveLambs { get; set; }

        /// <summary>
        /// 窝总重
        /// </summary>
        public decimal LitterTotalWeight { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public int Gender { get; set; }  // true 为公羊, false 为母羊

        /// <summary>
        /// 当前栋舍
        /// </summary>
        public int CurrentBarn { get; set; }

        /// <summary>
        /// 当前栏位
        /// </summary>
        public int CurrentPen { get; set; }

        /// <summary>
        /// 转入栋舍
        /// </summary>
        public int TransferBarn { get; set; }

        /// <summary>
        /// 转入栏位
        /// </summary>
        public int TransferPen { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Notes { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        public string DocumentNo { get; set; }

        /// <summary>
        /// 流水号
        /// </summary>
        public string SerialNo { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public int CreateId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public int? UpdateId { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
        /// 删除人
        /// </summary>
        public int? DeleteId { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public bool Deletes { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeleteTime { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public int? ExamId { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ExamTime { get; set; }
    }
}
